home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / AIFF.a < prev    next >
Text File  |  1996-05-01  |  7KB  |  202 lines

  1. ;
  2. ;    File:        AIFF.a
  3. ;
  4. ;    Contains:    Definition of AIFF file format components.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__AIFF__') = 'UNDEFINED' THEN
  19. __AIFF__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.  
  25. AIFFID                            EQU        'AIFF'
  26. AIFCID                            EQU        'AIFC'
  27. FormatVersionID                    EQU        'FVER'
  28. CommonID                        EQU        'COMM'
  29. FORMID                            EQU        'FORM'
  30. SoundDataID                        EQU        'SSND'
  31. MarkerID                        EQU        'MARK'
  32. InstrumentID                    EQU        'INST'
  33. MIDIDataID                        EQU        'MIDI'
  34. AudioRecordingID                EQU        'AESD'
  35. ApplicationSpecificID            EQU        'APPL'
  36. CommentID                        EQU        'COMT'
  37. NameID                            EQU        'NAME'
  38. AuthorID                        EQU        'AUTH'
  39. CopyrightID                        EQU        '(c) '
  40. AnnotationID                    EQU        'ANNO'
  41.  
  42. NoLooping                        EQU        0
  43. ForwardLooping                    EQU        1
  44. ForwardBackwardLooping            EQU        2                    ; AIFF-C Versions 
  45. AIFCVersion1                    EQU        $A2805140
  46.  
  47.                                                             ; Compression Types 
  48. NoneType                        EQU        'NONE'
  49. ACE2Type                        EQU        'ACE2'
  50. ACE8Type                        EQU        'ACE8'
  51. MACE3Type                        EQU        'MAC3'
  52. MACE6Type                        EQU        'MAC6'
  53. ; typedef unsigned long                 ID
  54.  
  55. ; typedef short                         MarkerIdType
  56.  
  57. ChunkHeader                RECORD 0
  58. ckID                     ds.l    1                ; offset: $0 (0)
  59. ckSize                     ds.l    1                ; offset: $4 (4)
  60. sizeof                     EQU *                    ; size:   $8 (8)
  61.                         ENDR
  62. ContainerChunk            RECORD 0
  63. ckID                     ds.l    1                ; offset: $0 (0)
  64. ckSize                     ds.l    1                ; offset: $4 (4)
  65. formType                 ds.l    1                ; offset: $8 (8)
  66. sizeof                     EQU *                    ; size:   $C (12)
  67.                         ENDR
  68. FormatVersionChunk        RECORD 0
  69. ckID                     ds.l    1                ; offset: $0 (0)
  70. ckSize                     ds.l    1                ; offset: $4 (4)
  71. timestamp                 ds.l    1                ; offset: $8 (8)
  72. sizeof                     EQU *                    ; size:   $C (12)
  73.                         ENDR
  74. ; typedef struct FormatVersionChunk *    FormatVersionChunkPtr
  75.  
  76. CommonChunk                RECORD 0
  77. ckID                     ds.l    1                ; offset: $0 (0)
  78. ckSize                     ds.l    1                ; offset: $4 (4)
  79. numChannels                 ds.w    1                ; offset: $8 (8)
  80. numSampleFrames             ds.l    1                ; offset: $A (10)
  81. sampleSize                 ds.w    1                ; offset: $E (14)
  82. sampleRate                 ds        extended80        ; offset: $10 (16)
  83. sizeof                     EQU *                    ; size:   $1A (26)
  84.                         ENDR
  85. ; typedef struct CommonChunk *            CommonChunkPtr
  86.  
  87. ExtCommonChunk            RECORD 0
  88. ckID                     ds.l    1                ; offset: $0 (0)
  89. ckSize                     ds.l    1                ; offset: $4 (4)
  90. numChannels                 ds.w    1                ; offset: $8 (8)
  91. numSampleFrames             ds.l    1                ; offset: $A (10)
  92. sampleSize                 ds.w    1                ; offset: $E (14)
  93. sampleRate                 ds        extended80        ; offset: $10 (16)
  94. compressionType             ds.l    1                ; offset: $1A (26)
  95. compressionName             ds.b    1                ; offset: $1E (30) <-- really an array of length one ;  variable length array, Pascal string 
  96.                          ORG 32
  97. sizeof                     EQU *                    ; size:   $20 (32)
  98.                         ENDR
  99. ; typedef struct ExtCommonChunk *        ExtCommonChunkPtr
  100.  
  101. SoundDataChunk            RECORD 0
  102. ckID                     ds.l    1                ; offset: $0 (0)
  103. ckSize                     ds.l    1                ; offset: $4 (4)
  104. offset                     ds.l    1                ; offset: $8 (8)
  105. blockSize                 ds.l    1                ; offset: $C (12)
  106. sizeof                     EQU *                    ; size:   $10 (16)
  107.                         ENDR
  108. ; typedef struct SoundDataChunk *        SoundDataChunkPtr
  109.  
  110. Marker                    RECORD 0
  111. id                         ds.w    1                ; offset: $0 (0)
  112. position                 ds.l    1                ; offset: $2 (2)
  113. markerName                 ds        Str255            ; offset: $6 (6)
  114. sizeof                     EQU *                    ; size:   $106 (262)
  115.                         ENDR
  116. MarkerChunk                RECORD 0
  117. ckID                     ds.l    1                ; offset: $0 (0)
  118. ckSize                     ds.l    1                ; offset: $4 (4)
  119. numMarkers                 ds.w    1                ; offset: $8 (8)
  120. Markers                     ds        Marker            ; offset: $A (10) <-- really an array of length one ;  variable length array 
  121. sizeof                     EQU *                    ; size:   $110 (272)
  122.                         ENDR
  123. ; typedef struct MarkerChunk *            MarkerChunkPtr
  124.  
  125. AIFFLoop                RECORD 0
  126. playMode                 ds.w    1                ; offset: $0 (0)
  127. beginLoop                 ds.w    1                ; offset: $2 (2)
  128. endLoop                     ds.w    1                ; offset: $4 (4)
  129. sizeof                     EQU *                    ; size:   $6 (6)
  130.                         ENDR
  131. InstrumentChunk            RECORD 0
  132. ckID                     ds.l    1                ; offset: $0 (0)
  133. ckSize                     ds.l    1                ; offset: $4 (4)
  134. baseFrequency             ds.b    1                ; offset: $8 (8)
  135. detune                     ds.b    1                ; offset: $9 (9)
  136. lowFrequency             ds.b    1                ; offset: $A (10)
  137. highFrequency             ds.b    1                ; offset: $B (11)
  138. lowVelocity                 ds.b    1                ; offset: $C (12)
  139. highVelocity             ds.b    1                ; offset: $D (13)
  140. gain                     ds.w    1                ; offset: $E (14)
  141. sustainLoop                 ds        AIFFLoop        ; offset: $10 (16)
  142. releaseLoop                 ds        AIFFLoop        ; offset: $16 (22)
  143. sizeof                     EQU *                    ; size:   $1C (28)
  144.                         ENDR
  145. ; typedef struct InstrumentChunk *        InstrumentChunkPtr
  146.  
  147. MIDIDataChunk            RECORD 0
  148. ckID                     ds.l    1                ; offset: $0 (0)
  149. ckSize                     ds.l    1                ; offset: $4 (4)
  150. MIDIdata                 ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array 
  151.                          ORG 10
  152. sizeof                     EQU *                    ; size:   $A (10)
  153.                         ENDR
  154. ; typedef struct MIDIDataChunk *        MIDIDataChunkPtr
  155.  
  156. AudioRecordingChunk        RECORD 0
  157. ckID                     ds.l    1                ; offset: $0 (0)
  158. ckSize                     ds.l    1                ; offset: $4 (4)
  159. AESChannelStatus         ds.b    24                ; offset: $8 (8)
  160. sizeof                     EQU *                    ; size:   $20 (32)
  161.                         ENDR
  162. ; typedef struct AudioRecordingChunk *    AudioRecordingChunkPtr
  163.  
  164. ApplicationSpecificChunk RECORD 0
  165. ckID                     ds.l    1                ; offset: $0 (0)
  166. ckSize                     ds.l    1                ; offset: $4 (4)
  167. applicationSignature     ds.l    1                ; offset: $8 (8)
  168. data                     ds.b    1                ; offset: $C (12) <-- really an array of length one ;  variable length array 
  169.                          ORG 14
  170. sizeof                     EQU *                    ; size:   $E (14)
  171.                         ENDR
  172. ; typedef struct ApplicationSpecificChunk * ApplicationSpecificChunkPtr
  173.  
  174. Comment                    RECORD 0
  175. timeStamp                 ds.l    1                ; offset: $0 (0)
  176. marker                     ds.w    1                ; offset: $4 (4)
  177. count                     ds.w    1                ; offset: $6 (6)
  178. text                     ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array, Pascal string 
  179.                          ORG 10
  180. sizeof                     EQU *                    ; size:   $A (10)
  181.                         ENDR
  182. CommentsChunk            RECORD 0
  183. ckID                     ds.l    1                ; offset: $0 (0)
  184. ckSize                     ds.l    1                ; offset: $4 (4)
  185. numComments                 ds.w    1                ; offset: $8 (8)
  186. comments                 ds        Comment            ; offset: $A (10) <-- really an array of length one ;  variable length array 
  187. sizeof                     EQU *                    ; size:   $14 (20)
  188.                         ENDR
  189. ; typedef struct CommentsChunk *        CommentsChunkPtr
  190.  
  191. TextChunk                RECORD 0
  192. ckID                     ds.l    1                ; offset: $0 (0)
  193. ckSize                     ds.l    1                ; offset: $4 (4)
  194. text                     ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array, Pascal string 
  195.                          ORG 10
  196. sizeof                     EQU *                    ; size:   $A (10)
  197.                         ENDR
  198. ; typedef struct TextChunk *            TextChunkPtr
  199.  
  200.     ENDIF ; __AIFF__ 
  201.  
  202.